Most small computer systems include a video subsystem which interfaces the computer's system unit to the computer's display. Video subsystems are often built on a separate card called a "video card". Examples of small computer systems that include video subsystems or video cards are (a) personal computers generally termed "IBM compatible" personal computers, (b) work stations such as those marked by SUM Microsystems Inc., and Silicon Graphics Inc., and (c) the Macintosh brand of computers which are marketed Apple computer Corp.
A video subsystem or a video card generally includes memory (termed video memory) which stores the information displayed at any particular time. The display is updated from the stored information relatively frequently, for example, every 0.015 seconds. The display is updated from information stored in the video memory. That is, the information stored in the video memory is periodical used to update the display. The video memory is generally in the form of Dynamic Random Access Memory (DRAM) chips, or in the form Video Random Access Memory (i.e. VRAM) chips. The DRAMS or the VRAMS used in a video subsystem must be relatively fast and relatively dense devices which are therefore relatively expensive devices.
Since personal computers became popular in the 1980-85 time frame, video subsystems have progressed through a number of informal or de facto standards. One of the first informal standards was the CGA (Color Graphics Adapter) which has a resolution of 320 by 240 pixels. Next came the EGA (Enhanced Graphics Adapter) with a resolution up to 640 by 350 and then the VGA (Video Graphics Adapter) with have a resolution of 640 by 480 pixels. Today many advanced commercially available computers have display subsystems or video cards that support SVGA (Super VGA) displays. SVGA display generally have 1024 columns and 768 rows (i.e. 786,432 pixels).
In addition to the resolution (i.e. the number of rows and columns or pixels) of a display one must consider the range colors or depth of each pixel. Each pixel on a display can have 8, 12 or 24 associated bits which define the color (or depth) of the pixel. For example a display that uses 8 bits to define the color of each pixel, can set each pixel to one of 256 colors. Displays that use 24 bits to define the color of each pixel can set each pixel to one of 16.7 million colors. A display that uses 24 bits to define the color of each pixel is termed a "true color" display.
The amount of memory on a video card (i.e. the number of VRAMS required) is a direct function of the number of pixels in the display and the number of bits of information used to define the color of each pixel.
There are a wide variety of commercially available video subsystems. For example, ten commercially available video subsystems (i.e. video cards) that interface to the local bus; in a personal computer are described in an article entitled "Local-bus Graphic boards, the engine that makes Windows fly", published in the magazine "Windows Sources" April 1993 Page 362. Other descriptions of commercially available video subsystems are found in articles entitled "Video Cards Revisited" and "Benchmark Tests: Video Accelerator Boards" which were published in the July 1993 issue of "PC Magazine" at pages 165 and 251. A list of ninety three commercially available video cards produced by twenty five different companies is given in article entitled "Speed Demons" which appeared at page 47 of "InfoWorld Direct -A Supplement to InfoWorld".
In order to increase speed, many of the video subsystems which are commercially available store information about adjacent pixels in different VRAMS, that is, many commercially available video cards use either two, four, or eight way interleaving. For example, with four way interleaving, four VRAMS are used and information concerning the various pixels on the display is stored in the VRAM as follows:
First VRAM, pixels 0, 4, 8, 12, etc. PA1 Second VRAM, pixels, 1, 5, 9, 13, etc, PA1 Third VRAM, pixels 2, 6, 10, 14, etc, PA1 Fourth VRAM, pixels 3, 7, 11, 15, etc,. PA1 TTI means truncation to an integer PA1 LNB means lower nine order bits of P1 is "1" if [((X&gt;511) and (Y mod 3=1)) or (Y mod 3=2)]
Commercially available VRAMS are sold as being either 1, 2 or 4 megabit VRAMS; however, such VRAM do not have exactly 1, 2, or 4 megabits of storage. For example, commercially available 2 megabit VRAMs actually have 2,097,152 bits of storage arranged in 512 rows, 512 columns, and with 8 bits per position. A video card that includes four 2 meg VRAMS therefore has a total of 8,308,608 bits of storage. A 1024 by 768 display which uses 8 bits per pixel requires, 1024 time 785 times 8, bits of storage, (that is, 6,291,456 bits of storage) to store the information displayed.
Commercially available video cards which use four way interleaving have four VRAMS. Four example, commercially available video subsystems which utilize four way interleaving for 1024 by 768 displays with 8 bits per Pixel have 2,017,152 bits of storage which is not used for video refresh. Using conventional two, four, or eight way interleaving it is not possible to efficiently utilize all of the space in commercially available VRAMS. Many of the commercially available video subsystems attempt to utilize this memory, which is termed "off screen" memory for other purposes. For example in the above article entailed "Local-bus Graphic boards, the engine that makes Windows fly", states at page 365 "Designers try to find things to do with the extra memory. Some . . . use if for off screen caching and for storing the pattern of a hardware cursor".
The present invention provides a novel type of interleaving which more efficiently utilizes the storage space in VRAMS and therefore reduces the number of VRAMS needed for the equivalent type of video card.